﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Tibet.Logica.Comandos;
using Tibet.Datos.Interfaces;
using Tibet.Datos.FabricaDatos;
using Tibet.Entidades;
using Tibet.Datos.FabricaDatos;

namespace Tibet.Logica.Comandos.ComandoMotorMetrica
{
    public class CrearPerfilMetrica : Comando
    {

        Entidad _perfilMetrica;

        public CrearPerfilMetrica(Entidad perfilMetrica)
        {
            this._perfilMetrica = perfilMetrica;

        }


        public override void Ejecutar()
        {

            try
            {
                bool flagDebil = true;
             
                IDaoAccesoMetrica metrica = FabricaDao.ObtenerFabricaDeDao(1).ObtenerDaoSqlServerMetrica();
                                                                            //ObtenerDaoMetrica();               
                Flag = metrica.InsertarPerfilMetrica(_perfilMetrica);

                if ( Flag == true )
                {
                    Id = metrica.ConsultarMaxIdPerfil();


                    PerfilMetrica perfilMetrica = ( PerfilMetrica ) _perfilMetrica;

                    foreach ( Metrica miMetrica in perfilMetrica.MisMetricas )
                    {
                        flagDebil =  metrica.InsertarPerfilMetricaMetrica( Id, miMetrica.IdMetrica);

                        if (!flagDebil){
                            Flag = false;
                            break;
                        }
                        
                    }
                }
               
               
            }
            catch (Exception e)
            {
                //Console.WriteLine("Error General");

            }

        }

    }
}
